//封装防抖
export function throttle(fn, delay) {
	let valid = true;
	return function() {
		let context = this;
		let args = arguments;
		if (!valid) {
			return false;
		}
		valid = false;
		setTimeout(() => {
			fn.apply(context, args);
			valid = true;
		}, delay);
	};
};
// 手机号校验
export function isPhone(phoneStr) {
	var myreg =
		/^((13[0-9])|(14[1|4|5|6|7|8|9])|(15([0|1|2|3|5|6|7|8|9]))|(16[2|5|6|7])|(17[0|1|2|3|5|6|7|8])|(18[0-9])|(19[1|8|9]))\d{8}$/;
	if (!myreg.test(phoneStr)) {
		return false;
	} else {
		return true;
	}
}
// 身份证号校验
export function isCard(cardStr) {
	var myreg =
		/^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X]|[x])$/;
	if (!myreg.test(cardStr)) {
		return false;
	} else {
		return true;
	}
}
/**
 * 将时间戳转换为格式化的日期字符串。
 * @param {number} timeStamp - 时间戳，单位为毫秒。
 * @param {string} format - 输出日期的格式字符串（默认为 'yyyy/MM/dd hh:mm:ss'）。
 * @returns {string} 格式化后的日期字符串。
 */
export function convertTime(timeStamp, format = 'yyyy/MM/dd hh:mm:ss') {
	const date = new Date(timeStamp);
	const year = date.getFullYear();
	const month = ('0' + (date.getMonth() + 1)).slice(-2);
	const day = ('0' + date.getDate()).slice(-2);
	const hours = ('0' + date.getHours()).slice(-2);
	const minutes = ('0' + date.getMinutes()).slice(-2);
	const seconds = ('0' + date.getSeconds()).slice(-2);

	return format
		.replace('yyyy', year)
		.replace('MM', month)
		.replace('dd', day)
		.replace('hh', hours)
		.replace('mm', minutes)
		.replace('ss', seconds);
}
/* 时间戳转换成几分钟前，几小时前，几天前 */
export function formatTime(timestamp, isMilliseconds = false) {
	let ts = parseInt(isMilliseconds ? timestamp / 1000 : timestamp, 10);
	const now = Math.floor(Date.now() / 1000);
	const diff = now - ts;

	if (diff < 60) {
		return '刚刚';
	} else if (diff < 3600) {
		return `${Math.floor(diff / 60)}分钟前`;
	} else if (diff < 86400) {
		return `${Math.floor(diff / 3600)}小时前`;
	} else if (diff < 259200) { // 3天内
		return `${Math.floor(diff / 86400)}天前`;
	} else {
		const date = new Date(ts * 1000);
		const year = date.getFullYear();
		const month = String(date.getMonth() + 1);
		const day = String(date.getDate()).padStart(2, '0');
		const hours = String(date.getHours()).padStart(2, '0');
		const minutes = String(date.getMinutes()).padStart(2, '0');
		// return `${year}-${month}-${day} ${hours}:${minutes}`;
		return `${month}月${day}日`;
	}
}
export function unique4(arr,prop){
return arr.filter(function(item,index,self){
        return self.findLastIndex(el=>el[prop]==item[prop])===index
    })
}
// 修复活动取消后，编辑重新发布无效
//参加理由 改成  附加消息  解决人数多了找不到按钮问题
//修改活动时间格式到分钟，新增价格展示
//任务详情互相关注的时候要显示 互助关注
//任务认领再次改成 “申领”
//修改微信不用支付，但是前台报名成功，没有提示？  在微信支付后面加个“需付￥0时勿选！” 0元隐藏微信支付
//修复 到账金额有误，提现星光
//用户取消报名后 再次报名 显示还是取消，直接一个图标链接到签到页即可 -改为签到
//详情新增  任务须知
//修改图片变形自动裁切一下
//修改 任务详情里面竖版的图片/视频 放大
//修复 内容为空的时候，点开不是定位